// # 执行 `pnpm upgrade` 后会升级 `uniapp` 相关依赖
// # 在升级完后，会自动添加很多无用依赖，这需要删除以减小依赖包体积
// # 只需要执行下面的命令即可

// eslint-disable-next-line @typescript-eslint/no-var-requires
const { exec } = require('child_process');

// 定义要执行的命令
const dependencies = [
  // '@dcloudio/uni-app', // APP应用
  // '@dcloudio/uni-app-harmony', // 鸿蒙APP
  // '@dcloudio/uni-app-plus', // APP+应用
  // '@dcloudio/uni-h5', // h5应用
  // TODO: 如果需要某个平台的小程序，请手动删除或注释掉
  '@dcloudio/uni-mp-alipay', // 支付宝小程序
  '@dcloudio/uni-mp-baidu', // 百度小程序
  // '@dcloudio/uni-mp-harmony', // 鸿蒙元服务
  '@dcloudio/uni-mp-jd', // 京东小程序
  '@dcloudio/uni-mp-kuaishou', // 快手小程序
  '@dcloudio/uni-mp-lark', // 飞书小程序
  '@dcloudio/uni-mp-qq', // QQ小程序
  '@dcloudio/uni-mp-toutiao', // 头条(抖音)小程序
  // '@dcloudio/uni-mp-weixin', // 微信小程序
  '@dcloudio/uni-mp-xhs', // 小红书小程序
  '@dcloudio/uni-quickapp-webview', // 快应用
];

// 使用exec执行命令
exec(`pnpm un ${dependencies.join(' ')}`, (error, stdout, stderr) => {
  if (error) {
    // 如果有错误，打印错误信息
    console.error(`执行出错: ${error}`);
    return;
  }
  // 打印正常输出
  console.log(`stdout: ${stdout}`);
  // 如果有错误输出，也打印出来
  console.error(`stderr: ${stderr}`);
});
